package com.goodfox.web.generic.provide.service;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import com.goodfox.web.generic.provide.entity.ColumnField;

/**
 * 封装与excel文件有关的操作
 * @author qin gt
 *
 * @param <T>要操作的实体类
 */
public interface ExcelTemplateService {
	
	/**
	 * 根据list导出excel文件
	 * @param request 请求对象
	 * @param response 相应对象
	 * @param fieldList 表头标题
	 * @param entityList 实体列表
	 */
	void webExpWorkbook(HttpServletRequest request,HttpServletResponse response,List<ColumnField> fieldList,List entityList);

	/**
	 * 根据list创建excel文件
	 * @param fieldList 表头标题
	 * @param entityList 实体列表
	 * @return
	 */
	HSSFWorkbook createWorkbook(List<ColumnField> fieldList,List entityList);
	
	/**
	 * 根据list导出excel文件
	 * @param request
	 * @param response
	 * @param c
	 * @param entityList
	 */
	void webExpWorkbook(HttpServletRequest request,HttpServletResponse response,Class c,List entityList);
	
	/**
	 * 根据list创建excel文件
	 * @param c
	 * @param entityList
	 * @return
	 */
	HSSFWorkbook createWorkbook(Class c,List entityList);
}
